/**
 * 
 */
package com.devmindset.legoframework.client.mvc.metadata;

import com.devmindset.legoframework.client.mvc.LegoComponent;

/**
 * <pre>
 * The concept of {@link Story} is a replacement for @Annotation metadata for the components.
 * 
 * Every component when created tells a stecify {@link Story} about themselves. We that use that
 * grouped metadata to extract information about the component.
 * 
 * It follows somewhat DSL approach, using method chaining.
 * 
 * Example:
 * 
 * A {@link LegoComponent} is being created. It suplies it's {@link Story} something like this:
 * 
 *   public ComponentStory myStory() {
 *     return Stories.component().constructedBy(LegoEvents.TEST)
 *       .knownAs("The ONE Component.");
 *   }
 * </pre>
 * 
 * @author <a href="mailto:ice.penov@devmindset.com">Ice Penov</a>
 */
public interface Story {
  //Marker interface.
}
